package com.jkt.rms.business.base;

import java.io.Serializable;


/**
 * This is an object that contains data related to the Project_Audit_Trans table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="Project_Audit_Trans"
 */

public abstract class BaseProjectAuditTrans  implements Serializable {

	public static String REF = "ProjectAuditTrans";
	public static String PROP_PROJECT_NAME = "projectName";
	public static String PROP_DELIVERY_MANAGER = "deliveryManager";
	public static String PROP_COST_CENTRE = "costCentre";
	public static String PROP_PROJECT_EXPECTED_END_DATE = "projectExpectedEndDate";
	public static String PROP_PROJECT_ACTUAL_START_DATE = "projectActualStartDate";
	public static String PROP_PURCHASE_ORDER_NO = "purchaseOrderNo";
	public static String PROP_LINE_OF_BUSINESS = "lineOfBusiness";
	public static String PROP_PROJECT_DESCRIPTION = "projectDescription";
	public static String PROP_PROJECT_TYPE = "projectType";
	public static String PROP_STATUS = "status";
	public static String PROP_PROJECT_NUMBER = "projectNumber";
	public static String PROP_PROJECT_EXPECTED_START_DATE = "projectExpectedStartDate";
	public static String PROP_PROJECT_ACTUAL_END_DATE = "projectActualEndDate";
	public static String PROP_ID = "id";
	public static String PROP_PROJECT_MANAGER = "projectManager";
	public static String PROP_UPDATED_BY = "updatedBy";
	public static String PROP_PROJECT_ID = "projectId";
	public static String PROP_AUDIT_DATE = "auditDate";


	// constructors
	public BaseProjectAuditTrans () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseProjectAuditTrans (int id) {
		this.setId(id);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseProjectAuditTrans (
		int id,
		java.lang.String projectName,
		java.util.Date projectExpectedStartDate,
		java.util.Date projectExpectedEndDate,
		java.lang.String projectType,
		char status,
		java.lang.String purchaseOrderNo,
		java.lang.String projectManager,
		java.lang.String deliveryManager,
		long costCentre,
		java.lang.String lineOfBusiness,
		java.util.Date auditDate,
		int projectId) {

		this.setId(id);
		this.setProjectName(projectName);
		this.setProjectExpectedStartDate(projectExpectedStartDate);
		this.setProjectExpectedEndDate(projectExpectedEndDate);
		this.setProjectType(projectType);
		this.setStatus(status);
		this.setPurchaseOrderNo(purchaseOrderNo);
		this.setProjectManager(projectManager);
		this.setDeliveryManager(deliveryManager);
		this.setCostCentre(costCentre);
		this.setLineOfBusiness(lineOfBusiness);
		this.setAuditDate(auditDate);
		this.setProjectId(projectId);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private int id;

	// fields
	private java.lang.String projectNumber;
	private java.lang.String projectName;
	private java.lang.String projectDescription;
	private java.util.Date projectExpectedStartDate;
	private java.util.Date projectExpectedEndDate;
	private java.util.Date projectActualStartDate;
	private java.util.Date projectActualEndDate;
	private java.lang.String projectType;
	private java.lang.String updatedBy;
	private char status;
	private java.lang.String purchaseOrderNo;
	private java.lang.String projectManager;
	private java.lang.String deliveryManager;
	private long costCentre;
	private java.lang.String lineOfBusiness;
	private java.util.Date auditDate;
	private int projectId;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="identity"
     *  column="project_audit_trans_id"
     */
	public int getId () {
		return id;
	}

	/**
	 * Set the unique identifier of this class
	 * @param id the new ID
	 */
	public void setId (int id) {
		this.id = id;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: project_number
	 */
	public java.lang.String getProjectNumber () {
		return projectNumber;
	}

	/**
	 * Set the value related to the column: project_number
	 * @param projectNumber the project_number value
	 */
	public void setProjectNumber (java.lang.String projectNumber) {
		this.projectNumber = projectNumber;
	}



	/**
	 * Return the value associated with the column: project_name
	 */
	public java.lang.String getProjectName () {
		return projectName;
	}

	/**
	 * Set the value related to the column: project_name
	 * @param projectName the project_name value
	 */
	public void setProjectName (java.lang.String projectName) {
		this.projectName = projectName;
	}



	/**
	 * Return the value associated with the column: project_description
	 */
	public java.lang.String getProjectDescription () {
		return projectDescription;
	}

	/**
	 * Set the value related to the column: project_description
	 * @param projectDescription the project_description value
	 */
	public void setProjectDescription (java.lang.String projectDescription) {
		this.projectDescription = projectDescription;
	}



	/**
	 * Return the value associated with the column: project_expected_start_date
	 */
	public java.util.Date getProjectExpectedStartDate () {
		return projectExpectedStartDate;
	}

	/**
	 * Set the value related to the column: project_expected_start_date
	 * @param projectExpectedStartDate the project_expected_start_date value
	 */
	public void setProjectExpectedStartDate (java.util.Date projectExpectedStartDate) {
		this.projectExpectedStartDate = projectExpectedStartDate;
	}



	/**
	 * Return the value associated with the column: project_expected_end_date
	 */
	public java.util.Date getProjectExpectedEndDate () {
		return projectExpectedEndDate;
	}

	/**
	 * Set the value related to the column: project_expected_end_date
	 * @param projectExpectedEndDate the project_expected_end_date value
	 */
	public void setProjectExpectedEndDate (java.util.Date projectExpectedEndDate) {
		this.projectExpectedEndDate = projectExpectedEndDate;
	}



	/**
	 * Return the value associated with the column: project_actual_start_date
	 */
	public java.util.Date getProjectActualStartDate () {
		return projectActualStartDate;
	}

	/**
	 * Set the value related to the column: project_actual_start_date
	 * @param projectActualStartDate the project_actual_start_date value
	 */
	public void setProjectActualStartDate (java.util.Date projectActualStartDate) {
		this.projectActualStartDate = projectActualStartDate;
	}



	/**
	 * Return the value associated with the column: project_actual_end_date
	 */
	public java.util.Date getProjectActualEndDate () {
		return projectActualEndDate;
	}

	/**
	 * Set the value related to the column: project_actual_end_date
	 * @param projectActualEndDate the project_actual_end_date value
	 */
	public void setProjectActualEndDate (java.util.Date projectActualEndDate) {
		this.projectActualEndDate = projectActualEndDate;
	}



	/**
	 * Return the value associated with the column: project_type
	 */
	public java.lang.String getProjectType () {
		return projectType;
	}

	/**
	 * Set the value related to the column: project_type
	 * @param projectType the project_type value
	 */
	public void setProjectType (java.lang.String projectType) {
		this.projectType = projectType;
	}



	/**
	 * Return the value associated with the column: updated_by
	 */
	public java.lang.String getUpdatedBy () {
		return updatedBy;
	}

	/**
	 * Set the value related to the column: updated_by
	 * @param updatedBy the updated_by value
	 */
	public void setUpdatedBy (java.lang.String updatedBy) {
		this.updatedBy = updatedBy;
	}



	/**
	 * Return the value associated with the column: status
	 */
	public char getStatus () {
		return status;
	}

	/**
	 * Set the value related to the column: status
	 * @param status the status value
	 */
	public void setStatus (char status) {
		this.status = status;
	}



	/**
	 * Return the value associated with the column: purchase_order_no
	 */
	public java.lang.String getPurchaseOrderNo () {
		return purchaseOrderNo;
	}

	/**
	 * Set the value related to the column: purchase_order_no
	 * @param purchaseOrderNo the purchase_order_no value
	 */
	public void setPurchaseOrderNo (java.lang.String purchaseOrderNo) {
		this.purchaseOrderNo = purchaseOrderNo;
	}



	/**
	 * Return the value associated with the column: project_manager
	 */
	public java.lang.String getProjectManager () {
		return projectManager;
	}

	/**
	 * Set the value related to the column: project_manager
	 * @param projectManager the project_manager value
	 */
	public void setProjectManager (java.lang.String projectManager) {
		this.projectManager = projectManager;
	}



	/**
	 * Return the value associated with the column: delivery_manager
	 */
	public java.lang.String getDeliveryManager () {
		return deliveryManager;
	}

	/**
	 * Set the value related to the column: delivery_manager
	 * @param deliveryManager the delivery_manager value
	 */
	public void setDeliveryManager (java.lang.String deliveryManager) {
		this.deliveryManager = deliveryManager;
	}



	/**
	 * Return the value associated with the column: cost_centre
	 */
	public long getCostCentre () {
		return costCentre;
	}

	/**
	 * Set the value related to the column: cost_centre
	 * @param costCentre the cost_centre value
	 */
	public void setCostCentre (long costCentre) {
		this.costCentre = costCentre;
	}



	/**
	 * Return the value associated with the column: line_of_business
	 */
	public java.lang.String getLineOfBusiness () {
		return lineOfBusiness;
	}

	/**
	 * Set the value related to the column: line_of_business
	 * @param lineOfBusiness the line_of_business value
	 */
	public void setLineOfBusiness (java.lang.String lineOfBusiness) {
		this.lineOfBusiness = lineOfBusiness;
	}



	/**
	 * Return the value associated with the column: audit_date
	 */
	public java.util.Date getAuditDate () {
		return auditDate;
	}

	/**
	 * Set the value related to the column: audit_date
	 * @param auditDate the audit_date value
	 */
	public void setAuditDate (java.util.Date auditDate) {
		this.auditDate = auditDate;
	}



	/**
	 * Return the value associated with the column: project_id
	 */
	public int getProjectId () {
		return projectId;
	}

	/**
	 * Set the value related to the column: project_id
	 * @param projectId the project_id value
	 */
	public void setProjectId (int projectId) {
		this.projectId = projectId;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof com.jkt.rms.business.ProjectAuditTrans)) return false;
		else {
			com.jkt.rms.business.ProjectAuditTrans projectAuditTrans = (com.jkt.rms.business.ProjectAuditTrans) obj;
			return (this.getId() == projectAuditTrans.getId());
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			return (int) this.getId();
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}